(function (w, d) {
    // function rem() {
    //     d.getElementsByTagName("html")[0].style.fontSize =
    //         Math.min(d.documentElement.getBoundingClientRect().width, 500) * 100 / 375 + "px";
    // }
    // rem();
    // w.onresize = rem;
     function rem() {
        var rem = document.documentElement.clientWidth;
        document.documentElement.style.fontSize = rem * 20 / 320 + 'px';
    }
    rem();
    w.onresize = rem;
    // 禁止微信调整字体
    if (
        typeof WeixinJSBridge == "object" &&
        typeof WeixinJSBridge.invoke == "function"
    ) {
        handleFontSize();
    } else {
        if (d.addEventListener) {
            d.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
        } else if (d.attachEvent) {
            d.attachEvent("WeixinJSBridgeReady", handleFontSize);
            d.attachEvent("onWeixinJSBridgeReady", handleFontSize);
        }
    }

    function handleFontSize() {
        // 设置网页字体为默认大小
        WeixinJSBridge.invoke("setFontSizeCallback", {
            fontSize: 0
        });
        // 重写设置网页字体大小的事件
        WeixinJSBridge.on("menu:setfont", function () {
            WeixinJSBridge.invoke("setFontSizeCallback", {
                fontSize: 0
            });
        });
    }
    // 加载loading
    var loading_model = d.createElement("div");
    loading_model.className = "loading_model";
    var loading_svg = d.createElement("img");
    loading_svg.className = "loading_svg";
    loading_svg.src = "http://nc.fuxiyi.com/fuwuhao/Public/Base/images/loading.gif";
    loading_model.appendChild(loading_svg);
    d.documentElement.appendChild(loading_model);
   

    w.utilTool = {
        getNum: function (str) {
            // 提取字符串中数字
            return str.replace(/[^0-9]/gi, "");
        },
        // 获取cookie
        getCookie: function (name) {
            var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
            if (arr = d.cookie.match(reg))
                return unescape(arr[2]);
            else
                return null;
        },
        // 设置cookie
        //s20是代表20秒
        //h是指小时，如12小时则是：h12
        //d是天数，30天则：d30
        // setCookie("name","hayden","s20");
        setCookie: function (name, value, time) {
            var strsec = this.getsec(time);
            var exp = new Date();
            exp.setTime(exp.getTime() + strsec * 1);
            d.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
        },
        getsec: function (str) {
            var str1 = str.substring(1, str.length) * 1;
            var str2 = str.substring(0, 1);
            if (str2 == "s") {
                return str1 * 1000;
            } else if (str2 == "h") {
                return str1 * 60 * 60 * 1000;
            } else if (str2 == "d") {
                return str1 * 24 * 60 * 60 * 1000;
            }
        },
        // 删除cookie
        delCookie: function (name) {
            var exp = new Date();
            exp.setTime(exp.getTime() - 1);
            var cval = getCookie(name);
            if (cval != null) d.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + "; path=/";
        },
        // 判断是否为微信浏览器
        isWx: function () {
            var ua = w.navigator.userAgent.toLowerCase();
            if (ua.match(/MicroMessenger/i) == 'micromessenger') {
                return true;
            } else {
                return false;
            }
        },
        // 判断安卓还是ios
        isAndroidFn: function () {
            var u = navigator.userAgent;
            var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
            var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
            return isAndroid
        },
        // 获取url数据
        parseUrl: function () {
            var bUrl = location.href;
            if (bUrl.indexOf('?') < 0) {
                return ""
            }
            var bUrl = bUrl.split('?')[1];
            var bUrlArr = bUrl.split('&');
            var bUrlObj = {};
            for (var i = 0; i < bUrlArr.length; i++) {
                bUrlObj[bUrlArr[i].split('=')[0]] = bUrlArr[i].split('=')[1];
            }
            return bUrlObj;
        }
    }

    /**
     * js常用工具类
     */

    /**
     * 方法作用：【格式化时间】
     * 使用方法
     * 示例：
     *      使用方式一：
     *      var now = new Date();
     *      var nowStr = now.dateFormat("yyyy-MM-dd hh:mm:ss");
     *      使用方式二：
     *      new Date().dateFormat("yyyy年MM月dd日");
     *      new Date().dateFormat("MM/dd/yyyy");
     *      new Date().dateFormat("yyyyMMdd");
     *      new Date().dateFormat("yyyy-MM-dd hh:mm:ss");
     */
    Date.prototype.dateFormat = function (format) {
        var o = {
            "M+": this.getMonth() + 1, //month
            "d+": this.getDate(), //day
            "h+": this.getHours(), //hour
            "m+": this.getMinutes(), //minute
            "s+": this.getSeconds(), //second
            "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
            S: this.getMilliseconds() //millisecond
        };
        if (/(y+)/.test(format)) {
            format = format.replace(
                RegExp.$1,
                (this.getFullYear() + "").substr(4 - RegExp.$1.length)
            );
        }
        for (var k in o) {
            if (new RegExp("(" + k + ")").test(format)) {
                format = format.replace(
                    RegExp.$1,
                    RegExp.$1.length == 1 ?
                    o[k] :
                    ("00" + o[k]).substr(("" + o[k]).length)
                );
            }
        }
        return format;
    };
    /* *********************************************************************
     *                             自定义取年,月,日数组
     *                       new Date().YMD()==>{y:2018,m:3,d:1}
     *                       new Date().YMD(0)==>{y:2018,m:03,d:01}
     *                       new Date().YMD('yyyy/M/d')==>{y:2018,m:3,d:1}
     *                       new Date().YMD('yyyy/MM/dd')==>{y:2018,m:3,d:1}
     *                       new Date().YMD('yyyy-M-d')==>{y:2018,m:3,d:1}
     *                       new Date().YMD('yyyy-MM-dd')==>{y:2018,m:3,d:1}
     * ********************************************************************* */
    Date.prototype.YMD = function (n) {
        var obj = {
            y: this.getFullYear(),
            m: this.getMonth() + 1,
            d: this.getDate()
        };
        var timeformat = '';
        if (n == 0) {
            obj = {
                y: this.getFullYear(),
                m: (this.getMonth() + 1) > 9 ? (this.getMonth() + 1) : '0' + (this.getMonth() + 1),
                d: this.getDate() > 9 ? this.getDate() : '0' + (this.getDate())
            }
        } else if (n == 'yyyy/M/d') {
            timeformat = obj.y + '/' + obj.m + '/' + obj.d;
            return timeformat;
        } else if (n == 'yyyy/MM/dd') {
            timeformat = obj.y + '/' + (obj.m > 9 ? obj.m : '0' + obj.m) + '/' + (obj.d > 9 ? obj.d : '0' + obj.d);
            return timeformat;
        } else if (n == 'yyyy-M-d') {
            timeformat = obj.y + '-' + obj.m + '-' + obj.d;
            return timeformat;
        } else if (n == 'yyyy-MM-dd') {
            timeformat = obj.y + '-' + (obj.m > 9 ? obj.m : '0' + obj.m) + '-' + (obj.d > 9 ? obj.d : '0' + obj.d);
            return timeformat;
        }
        return obj;
    }
    /***********************************************************************
     *                           日期时间工具类                            *
     *                     注：调用方式，deteUtil.方法名                   *
     * ********************************************************************/
    Date.prototype.dateUtil = {
        /*
         * 方法作用：【取传入日期是星期几】
         * 使用方法：dateUtil.nowFewWeeks(new Date());
         * @param date{date} 传入日期类型
         * @returns {星期四，...}
         */
        nowFewWeeks: function (date) {
            if (date instanceof Date) {
                var dayNames = new Array(
                    "星期天",
                    "星期一",
                    "星期二",
                    "星期三",
                    "星期四",
                    "星期五",
                    "星期六"
                );
                return dayNames[date.getDay()];
            } else {
                return "Param error,date type!";
            }
        },
        /*
         * 方法作用：【字符串转换成日期】
         * 使用方法：dateUtil.strTurnDate("2010-01-01");
         * @param str {String}字符串格式的日期，传入格式：yyyy-mm-dd(2015-01-31)
         * @return {Date}由字符串转换成的日期
         */
        strTurnDate: function (str) {
            var re = /^(\d{4})\S(\d{1,2})\S(\d{1,2})$/;
            var dt;
            if (re.test(str)) {
                dt = new Date(RegExp.$1, RegExp.$2 - 1, RegExp.$3);
            }
            return dt;
        },
        /*
         * 方法作用：【计算2个日期之间的天数】
         * 传入格式：yyyy-mm-dd(2015-01-31)
         * 使用方法：dateUtil.dayMinus(startDate,endDate);
         * @startDate {Date}起始日期
         * @endDate {Date}结束日期
         * @return endDate - startDate的天数差
         */
        dayMinus: function (startDate, endDate) {
            if (startDate instanceof Date && endDate instanceof Date) {
                var days = Math.floor((endDate - startDate) / (1000 * 60 * 60 * 24));
                return days;
            } else {
                return "Param error,date type!";
            }
        }
    };
})(window, document);
